package com.yida.wy.vote.outside.domain.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Date;

/**
 * @author lqq
 * @date 2023-03-13
 */
@ApiModel("投票项目列表请求")
public class WyVoteProjectQueryRequest implements Serializable {
	private static final long serialVersionUID = 1L;

	@ApiModelProperty("投票标题")
	private String voteTitle;

	@ApiModelProperty("投票发起时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date startTime;

	@ApiModelProperty("投票结束时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date endTime;

	@ApiModelProperty("对外公示截止日期")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date publicEndTime;

	@ApiModelProperty("投票状态：0未投票、1投票中、2取消、3投票结束")
	private String voteStatus;

	@ApiModelProperty("投票类型")
	private String voteType;

	@ApiModelProperty("审批状态：0未审核、1.同意、2不同意")
	private String auditStatus;

	@ApiModelProperty("发起端类型：1公维金投票、2.电子投票")
	private String initiateType;

	@ApiModelProperty("提交状态：0未提交、1已提交")
	private String submitStatus;

	@ApiModelProperty("地区ID")
	private Long areaId;

	@ApiModelProperty("街道ID")
	private Long streetId;

	@ApiModelProperty("小区ID集合")
	private Long[] communityIds;

	@ApiModelProperty("业务编码")
	private Long bizNum;

	public Long getBizNum() {
		return bizNum;
	}

	public void setBizNum(Long bizNum) {
		this.bizNum = bizNum;
	}

	public Long[] getCommunityIds() {
		return communityIds;
	}

	public void setCommunityIds(Long[] communityIds) {
		this.communityIds = communityIds;
	}

	public void setVoteTitle(String voteTitle) {
		this.voteTitle = voteTitle;
	}

	public String getVoteTitle() {
		return voteTitle;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setPublicEndTime(Date publicEndTime) {
		this.publicEndTime = publicEndTime;
	}

	public Date getPublicEndTime() {
		return publicEndTime;
	}

	public void setVoteStatus(String voteStatus) {
		this.voteStatus = voteStatus;
	}

	public String getVoteStatus() {
		return voteStatus;
	}

	public void setVoteType(String voteType) {
		this.voteType = voteType;
	}

	public String getVoteType() {
		return voteType;
	}

	public String getAuditStatus() {
		return auditStatus;
	}

	public void setAuditStatus(String auditStatus) {
		this.auditStatus = auditStatus;
	}

	public void setInitiateType(String initiateType) {
		this.initiateType = initiateType;
	}

	public String getInitiateType() {
		return initiateType;
	}

	public void setSubmitStatus(String submitStatus) {
		this.submitStatus = submitStatus;
	}

	public String getSubmitStatus() {
		return submitStatus;
	}

	public void setAreaId(Long areaId) {
		this.areaId = areaId;
	}

	public Long getAreaId() {
		return areaId;
	}

	public void setStreetId(Long streetId) {
		this.streetId = streetId;
	}

	public Long getStreetId() {
		return streetId;
	}

	@Override
	public String toString() {
		final StringBuffer sb = new StringBuffer("GwjVoteProjectQueryRequest{");
		sb.append("voteTitle='").append(voteTitle).append('\'');
		sb.append(", startTime=").append(startTime);
		sb.append(", endTime=").append(endTime);
		sb.append(", publicEndTime=").append(publicEndTime);
		sb.append(", voteStatus='").append(voteStatus).append('\'');
		sb.append(", voteType='").append(voteType).append('\'');
		sb.append(", auditStatus='").append(auditStatus).append('\'');
		sb.append(", initiateType='").append(initiateType).append('\'');
		sb.append(", submitStatus='").append(submitStatus).append('\'');
		sb.append(", areaId=").append(areaId);
		sb.append(", streetId=").append(streetId);
		sb.append(", communityIds=").append(communityIds == null ? "null" : Arrays.asList(communityIds).toString());
		sb.append(", bizNum=").append(bizNum);
		sb.append('}');
		return sb.toString();
	}
}
